package com.bjpowernode.test07;

import java.util.Arrays;
import java.util.Scanner;

//键盘输入10个同学的成绩，计算平均成绩，并求出成绩在平均分之上的学生人数
public class TestGrade {
    public static void main(String[] args) {
        //创建数组，存储10个学生的成绩
        double[] grade = new double[10];
        //引入键盘输入类
        Scanner scanner = new Scanner(System.in);
        //调用方法，手动输入学生成绩
        storeGrade(grade,scanner);
//        System.out.println(Arrays.toString(grade));
        //调用方法，计算学生的平均成绩
        System.out.println("平均成绩是： "+getAvg(grade));
        double avg = getAvg(grade);
        int count = highScore(grade,avg);
        System.out.println("共有"+count+"人的成绩超过平均成绩");
    }

    //定义方法，将成绩存储到数组中
    public static double[] storeGrade(double[] grade,Scanner scanner){
        for (int i=0;i<grade.length;i++){
            System.out.print("请输入第"+(i+1)+"个学生的成绩: ");
            double dou = scanner.nextDouble();
            if (dou<0){
                System.out.println("您的输入有误，此学生的成绩作废");
                dou = 0;
            }
            grade[i] = dou;
        }
        return grade;
    }

    //定义方法，计算学生的平均成绩
    public static double getAvg(double[] doubles){
        double sum = 0;
        for (int i=0;i<doubles.length;i++){
            sum += doubles[i];
        }
        return sum/doubles.length;
    }

    //定义方法，统计成绩高于平均成绩的学生数量
    public static int highScore(double[] doubles,double dou){
        int count = 0;
        for (int i=0;i<doubles.length;i++){
            if (dou>doubles[i]){
                count++;
            }
        }
        return count;
    }
}
